package com.luobo.todolist.service.impl;

import com.luobo.todolist.entity.Todo;
import com.luobo.todolist.mapper.TodoMapper;
import com.luobo.todolist.service.TodoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

/**
 * Todo业务层实现类
 */
@Service
public class TodoServiceImpl implements TodoService {

    @Autowired
    private TodoMapper todoMapper;

    @Override
    public boolean add(Todo todo) {
        if (todo.getStatus() == null) {
            todo.setStatus(0); // 默认未完成
        }
        if (todo.getPriority() == null) {
            todo.setPriority(2); // 默认中等优先级
        }
        return todoMapper.insert(todo) > 0;
    }

    @Override
    public boolean delete(Long id) {
        return todoMapper.deleteById(id) > 0;
    }

    @Override
    public boolean update(Todo todo) {
        return todoMapper.update(todo) > 0;
    }

    @Override
    public boolean updateStatus(Long id, Integer status) {
        return todoMapper.updateStatus(id, status) > 0;
    }

    @Override
    public Todo getById(Long id) {
        return todoMapper.selectById(id);
    }

    @Override
    public List<Todo> listAll() {
        return todoMapper.selectAll();
    }

    @Override
    public List<Todo> listByStatus(Integer status) {
        return todoMapper.selectByStatus(status);
    }
} 